﻿
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- saved from url=(0014)about:internet -->
<html xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:mssdk="winsdk" xmlns:script="urn:script" xmlns:build="urn:build" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="Description" content="The .attach command attaches to a new target application."/>
<meta name="MSHAttr" content="PreferredSiteName:MSDN"/>
<meta name="MSHAttr" content="PreferredLib:/library/windows/hardware"/>
<title>.attach (Attach to Process)</title>

<meta name="MS-HAID" content="r19_metacmds_A_8c6d47be-d1e0-4d39-b0cd-14ac56c87de5.xml"/>


<link rel="STYLESHEET" type="text/css" HREF="../common/backsdk4.css"/>





<style>
html,div { margin: 0; padding: 0;}

body {
	padding: 0px;
	margin: 0px;
	overflow: auto;
	height: 100%;
}

#winchm_template_button{
	float: right;
	width: 93px;
	top: 7px;
	position: relative;
	text-align: right;
	right: 5px;
	height: auto;
}

#winchm_template_top{
	padding: 0px;
	margin: 0px;
	border-bottom: 1px solid #9B9B9B;
	background-color: #B1CEFE;
}

#winchm_template_navigation{
	margin: 0px;
	padding-top: 7px;
	padding-left: 7px;
	padding-bottom: 3px;
	padding-right: 0px;
	font-size: 8.5pt;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: normal;
	color: #585858;
}

#winchm_template_title{
	margin: 0px;
	padding-top: 4px;
	padding-left: 7px;
	padding-bottom: 7px;
	padding-right: 0px;
	font-size: 18px; 
	font-family: Verdana, Geneva, sans-serif;
	color: #363636;
}

#winchm_template_content{
	margin-top: 20px;
	margin-left: 15px;
	margin-bottom: 20px;
	margin-right: 15px;
	width: auto  !important;
	width: 100%;
}

#winchm_template_footer{
	border-width: 1px;
	border-color: #B1CEFE;
	border-top-style: solid;
	margin-top: 15px;
	margin-left: 15px;
	margin-bottom: 20px;
	margin-right: 15px;
	padding-top: 7px;
	padding-left: 0px;
	padding-bottom: 0px;
	padding-right: 0px;
	font-family: arial, helvetica, sans-serif;
	font-size: 8.5pt;
	color: #696969;
	width: auto;
	text-align: left;
}


#winchm_template_container{
	margin: 0px;
	padding: 0px;
	position: static;
	padding-bottom: 3px;
	overflow: auto;
	background-color: #FFFFFF;
}


@media print
{
#winchm_template_container{
	position: static;	
	margin: 0px;
	padding: 5px;
	
	width: auto;
	height: auto;
	overflow: auto;
}
#winchm_template_button{
visibility:hidden;
}
}

#winchm_template_navigation A:link	{text-decoration: none; color:#004080}
#winchm_template_navigation A:visited  {text-decoration: none; color: #004080}
#winchm_template_navigation A:active {text-decoration: none; color: #004080 }
#winchm_template_navigation A:hover {text-decoration: none;color: #0080FF}

A:link	{text-decoration: underline; color:#0033CC}
A:visited  {text-decoration: underline; color: #0033CC}
A:active {text-decoration: underline; color: #0033CC }
A:hover {text-decoration: underline;color: #FF0000;}
</style>
<script type="text/javascript">
function isMobile(){
Agent = window.navigator.userAgent;
if (Agent.indexOf("iPhone")>=1 || Agent.indexOf("iPad")>=1 || Agent.indexOf("iPod")>=1 || Agent.indexOf("Android")>=1){
return true;
}else{
return false;	
}

}
function d_onresize(){
if (window.navigator.userAgent.indexOf("MSIE")>=1){
document.getElementById('winchm_template_container').style.pixelWidth = document.body.offsetWidth - 3;
document.getElementById('winchm_template_container').style.pixelHeight = document.body.offsetHeight - document.getElementById('winchm_template_top').offsetHeight - 4;
}
document.getElementById('winchm_template_container').style.top = document.getElementById('winchm_template_top').offsetHeight + 'px';
}

function d_onbeforeprint(){
document.getElementById('winchm_template_container').style.width = 'auto';
document.getElementById('winchm_template_container').style.height = 'auto';
}

function d_onafterprint(){
d_onresize();
}

if(!isMobile()){

window.onload = d_onresize;
window.onresize = d_onresize;
window.onbeforeprint = d_onbeforeprint;
window.onafterprint = d_onafterprint;

document.write("<style>\n");
document.write("body {overflow: hidden;}\n");
document.write("#winchm_template_container {position: absolute;overflow: auto;top : 0px;right: 0px;bottom: 0px;left: 0px;}\n");
document.write("</style>\n");
}

</script>
</head>
<body><script language="JavaScript" type="text/JavaScript">
function syn(){
if(parent.nav.tree){
 if(parent.nav.tree.loaded){
  parent.nav.tree.selectNode(2058);
 }else{
  setTimeout("syn()",500);
}
  }else{
  setTimeout("syn()",500);
  }}
if(parent!=self){
  setTimeout("syn()",100);
}else{
  parent.location.href = "../../index.htm?page=debugger/_attach__attach_to_process_.htm";
}
originalOnload = window.onload;
if(originalOnload==null){
window.onload = function(){parent.contentLoaded = true;};
}else{
window.onload = function(){originalOnload();parent.contentLoaded = true;};
}
</script> 


<div id="winchm_template_top">
	<div id="winchm_template_button"><A href="_asm__change_disassembly_options_.htm" title="Previous topic"><img id="winchm_template_prev" alt="Previous topic" src="../template2/btn_prev_n.gif" border="0"></a><A href="_beep__speaker_beep_.htm" title="Next topic"><img id="winchm_template_next" alt="Next topic" src="../template2/btn_next_n.gif" border="0"></a></div>
	<div id="winchm_template_navigation">Help &gt; 
<A href="introduction6.htm">Debugging Tools for Windows (WinDbg, KD, CDB, NTSD)</A> &gt; <A href="debugger_reference.htm">Debugger Reference</A> &gt; <A href="debugger_commands.htm">Debugger Commands</A> &gt; <A href="meta_commands.htm">Meta-Commands</A> &gt; </div>
	<div id="winchm_template_title">.attach (Attach to Process)</div>
</div>
<div id="winchm_template_container">
	<div id="winchm_template_content"><div id="mainSection"><p>The <b>.attach</b> command attaches to a new target application.</p>
<pre class="syntax"><b>.attach </b>[<b>-premote</b> <i>RemoteOptions</i>]<b> </b><i>AttachOptions</i><b> </b><i>PID</i></pre>
<h2><a id="ddk_meta_attach_to_process_dbg"></a><a id="DDK_META_ATTACH_TO_PROCESS_DBG"></a>Parameters</h2>
<p></p>
<dl>
<dt><a id="_______RemoteOptions______"></a><a id="_______remoteoptions______"></a><a id="_______REMOTEOPTIONS______"></a>       <i>RemoteOptions</i>      </dt>
<dd>
<p>Specifies a process server to attach to. The options are the same as those for the command line <b>-premote</b> option. See <a href="#Bookmark1324"><b>Activating a Smart Client</b></a> for syntax details.</p>
</dd>
<dt><a id="_______AttachOptions______"></a><a id="_______attachoptions______"></a><a id="_______ATTACHOPTIONS______"></a>       <i>AttachOptions</i>      </dt>
<dd>
<p>Specifies how the attach is to be done. This can include any of the following options:</p>
<p></p>
<dl>
<dt><a id="-b"></a><a id="-B"></a><b>-b</b></dt>
<dd>
<p>(Windows XP and later)  Prevents the debugger from requesting an initial break-in when attaching to a target process. This can be useful if the application is already suspended, or if you want to avoid creating a break-in thread in the target.</p>
</dd>
<dt><a id="-e"></a><a id="-E"></a><b>-e</b></dt>
<dd>
<p>(Windows XP and later)  Allows the debugger to attach to a process that is already being debugged. See <a href="#Bookmark1384">Re-attaching to the Target Application</a> for details.</p>
</dd>
<dt><a id="-k"></a><a id="-K"></a><b>-k</b></dt>
<dd>
<p>(Windows XP and later)  Begins a local kernel debugging session.  See <a href="#Bookmark1261">Performing Local Kernel Debugging</a> for details.</p>
</dd>
<dt><a id="-f"></a><a id="-F"></a><b>-f</b></dt>
<dd>
<p>Freezes all threads in all target applications, except in the new target being attached to. These threads will remain frozen until an exception occurs in the newly-attached process. Note that an initial breakpoint qualifies as an exception. Individual threads can be unfrozen by using the <a href="#Bookmark1965"><b>~u (Unfreeze Thread)</b></a> command.</p>
</dd>
<dt><a id="-r"></a><a id="-R"></a><b>-r</b></dt>
<dd>
<p>(Windows XP and later)</p>
<p>  Causes the debugger to start the target process running when it attaches to it. This can be useful if the application is already suspended and you want it to resume execution. </p>
</dd>
<dt><a id="-v"></a><a id="-V"></a><b>-v</b></dt>
<dd>
<p>Causes the specified process to be debugged noninvasively. </p>
</dd>
</dl>
</dd>
<dt><a id="_______PID______"></a><a id="_______pid______"></a>       <i>PID</i>      </dt>
<dd>
<p>Specifies the process ID of the new target application.</p>
</dd>
</dl>
<h3><a id="Environment"></a><a id="environment"></a><a id="ENVIRONMENT"></a>Environment</h3>
<table>
<tr>
<td>
<p><b>Modes</b></p>
</td>
<td>
<p>user mode only</p>
</td>
</tr>
<tr>
<td>
<p><b>Targets</b></p>
</td>
<td>
<p>live debugging only</p>
</td>
</tr>
<tr>
<td>
<p><b>Platforms</b></p>
</td>
<td>
<p>all </p>
</td>
</tr>
</table>
<p> </p>
<h2>Remarks</h2>
<p>This command can be used when CDB is dormant, or if it is already debugging one or more processes. It cannot be used when WinDbg is dormant.</p>
<p>If this command is successful, the debugger will attach to the specified process the next time the debugger issues an execution command. If this command is used several times in a row, execution will have to be requested as many times as this command was used.</p>
<p>Because execution is not permitted during noninvasive debugging, the debugger is not able to noninvasively debug more than one process at a time. This also means that using the <b>.attach -v</b> command may render an already-existing invasive debugging session less useful.</p>
<p>Multiple target processes will always be executed together, unless some of their threads are frozen or suspended.</p>
<p>If you wish to attach to a new process and freeze all your existing targets, use the <b>-f</b> option. For example, you might be debugging a crash in a client application and want to attach to the server process without letting the client application continue running.</p>
<p>If the <b>-premote</b> option is used, the new process will be part of a new system. For details, see <a href="#Bookmark1402">Debugging Multiple Targets</a>.</p></div></div>	
	<div id="winchm_template_footer">Copyright &copy; 2019. All rights 
reserved. (To change the copyright info, just edit it in template.)</div>
</div>

</body>
</html>
